home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / c / amiexpress / source / utils / aedex / aedex.c next >
Encoding:
C/C++ Source or Header  |  1992-12-26  |  1.7 KB  |  106 lines

  1. #include <exec/types.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. struct CARD
  6. {
  7.   char Images[7][80];
  8. } Cards;
  9.  
  10. char File1[100];
  11. char File2[100];
  12. void sr(char *str);
  13. void Convert(char *str1,char *str2);
  14. int TLock(char *str);
  15. void CleanCards();
  16. #define ACCESS_READ -2L
  17. main(int argc,char *argv[])
  18. {
  19.   if(argc!=3)
  20.   {
  21.     printf("AEDEX version 1.0, written by Joseph Hodge\n");
  22.     printf("Usage: AEDEX <source text> <CardDeck>\n");
  23.     printf("   ie: AEDEX REGISTERED:Registered.dat S:AMIGADEX.CARDS\n");
  24.     printf("\n\n");
  25.     exit(0);
  26.   }
  27.  
  28.   strcpy(File1,argv[1]); sr(File1);
  29.   strcpy(File2,argv[2]); sr(File2);
  30.   if(!TLock(File1))
  31.   {
  32.     printf("\n");
  33.     printf("Can't locate File %s\n",File1);
  34.     printf("\n\n");
  35.     exit(0);
  36.   }
  37.   /*if(!TLock(File2))
  38.   {
  39.     printf("\n");
  40.     printf("Can't locate File %s\n",File2);
  41.     printf("\n\n");
  42.     exit(0);
  43.   }*/
  44.   Convert(File1,File2);
  45. }
  46.  
  47. void Convert(char *str1,char *str2)
  48. {
  49.   char image[200];
  50.   FILE *fi,*fo;
  51.   register int i=0;
  52.   UBYTE Constant=255;
  53.   CleanCards();
  54.   fi=fopen(str1,"r");
  55.   fo=fopen(str2,"wb");
  56.   
  57.   while(fgets(image,80,fi)!=NULL)
  58.   {
  59.     sr(image);
  60.     if(i==0)
  61.     {
  62.       fwrite((APTR)&Constant,sizeof(UBYTE),1,fo);
  63.     }
  64.     strcpy(Cards.Images[i],image);
  65.     i++;
  66.     if(i==7)
  67.     {
  68.       fwrite((APTR)&Cards,sizeof(struct CARD),1,fo);i=0; CleanCards();
  69.     }
  70.   }
  71.   fclose(fi);
  72.   fclose(fo);
  73. }
  74.  
  75. void CleanCards()
  76. {
  77.    register int i=0,j=0;
  78.    while(i<7)
  79.    {
  80.      while(j<79)
  81.      {
  82.        Cards.Images[i][j]='\0';
  83.        j++;
  84.      }
  85.      i++;
  86.    }
  87. }
  88. void sr(char *str)
  89. {
  90.   register int i;
  91.   i=strlen(str)-1;
  92.   while(i>-1)
  93.   {
  94.     if(*(str+i)<=32) *(str+i)='\0'; else break;
  95.     i--;
  96.   }
  97. }
  98. int TLock(char *str)
  99. {
  100.   long lock;
  101.   if(lock=Lock(str,ACCESS_READ))
  102.   {
  103.     UnLock(lock); return(1);
  104.   }
  105.   return(0);
  106. }